#ifndef DODO_LIDAR_LINE
#define DODO_LIDAR_LINE

struct LidarLine
{
	//Do keep these together, because I used memcpy() function...=============================================================
    int iSoftwareVersion;
    int iHardwareVersion;
    int iDataID;
    union {
    int iDate[3];
    struct {
    int year, month, day;};
    };
	    union {
    int iTime[4];
    struct {
    int hours, minutes, seconds, millisecond; }; };  // - at the end of profile
    
    int iNumberOfChannel;
    int rubbish;    //.....
    
    double dTimeOfBin; // sec 
    double dFrequencyOfLaser; // Hz
    long lNumberOfShotsPerAverage;
    int iNumberOfAnalog; // energy monitor, temp. of detector, temp. of box, temp. of laser
//End Keep together==================================================================
 
	float analogData[MAXANALOGNUM];      
    float data[MAXBINSNUM];     //the data received by the LIDAR are here~~
//	float extinctionData[MAXBINSNUM]; //this is not necessary, really, cuz we can record the extinction data in another OneLine object~
    //Aux Variables..

//aux variables...
    int headSize;		//Now it should be 72
    int binsNum;		//Typical number is 4000 or so?
	int binsLengthX;	//7.5m: binsLengthX=1 , 15m: binsLengthX=2, and so on...
	int averageTime;    //unit : s
	bool bIsSigma;   //
	bool bIsNormalized; //
	int maxIndexOfSigmaedData; 
	int cloudBaseIndex; //cloudbase index
	int lineCount; //normally this should be 1, but when adding lines together, this will hold the count.
};


#endif